package com.dq.health.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dq.health.dto.request.prescription.QueryPrescriptionParam;
import com.dq.health.dto.request.prescription.SavePrescriptionRequest;
import com.dq.health.dto.response.prescription.PrescriptionDetailInfo;
import com.dq.health.dto.response.prescription.PrescriptionListInfo;

/**
 * <处方单接口>
 *
 * @Author: chenxin
 * @Date: 2021/5/11
 */
public interface IAPIPrescriptionService {

    /**
     * 功能描述: 新增处方单
     *
     * @author: chenxin
     * @param: [request]
     * @date: 2021/5/14
     */
    Long addPrescriptionOrder(SavePrescriptionRequest request);

    /**
     * 功能描述: 修改处方单
     *
     * @author: chenxin
     * @param: [request]
     * @date: 2021/5/14
     */
    void updatePrescriptionOrder(SavePrescriptionRequest request);

    /**
     * 功能描述: 处理处方单
     *
     * @author: chenxin
     * @param: [request]
     * @date: 2021/5/21
     */
    void dealWithPrescriptionOrder(SavePrescriptionRequest request);

    /**
     * 功能描述: 处方单列表
     *
     * @author: chenxin
     * @param: [param]
     * @date: 2021/5/15
     */
    IPage<PrescriptionListInfo> queryPrescriptionList(QueryPrescriptionParam param);

    /**
     * 功能描述: 处方单详情
     *
     * @author: chenxin
     * @param: [id]
     * @date: 2021/5/15
     */
    PrescriptionDetailInfo getPrescriptionDetail(Long id);

    /**
     * 功能描述: 支付订单
     *
     * @author: chenxin
     * @param: [id, operationUserId]
     * @date: 2021/5/22
     */
    void payOrder(Long id, Long operationUserId);

}
